home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _741A8A5F564B43D997DC7C8436C82F8A < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.2 KB  |  56 lines

  1. // ===============================================================
  2. // Vertex Program: Heat Source
  3. // Description: outputs heat source for heatvision pass
  4. // Last Update: 21/10/2003
  5. // Coder: Tiago Sousa
  6. // ===============================================================
  7.  
  8. #include "../CGVPMacro.csi"
  9.  
  10. VertAttributes 
  11.   POSITION_3 
  12.   TEXCOORD0_2 
  13.   TANG_3X3 
  14. }
  15.  
  16. MainInput 
  17.   uniform float4x4 ModelViewProj,
  18.   uniform float4   CameraPos,
  19.   uniform float4   TexShiftRipple
  20. }
  21.  
  22. DeclarationsScript
  23. {
  24.   IN_T0_TANG
  25.   OUT_T0_T1_T2_T3_C0
  26. }
  27.  
  28. PositionScript = PosCommon
  29.  
  30. CoreScript
  31. {
  32.   OUT.Tex0.xy = IN.TexCoord0.xy;
  33.   OUT.Tex1.xy = IN.TexCoord0.xy;
  34.   
  35.   TANG_MATR
  36.   
  37.   //float4 vHPos = mul(ModelViewProj, vPos);     
  38.   float3 lightVec = CameraPos.xyz-vPos.xyz;
  39.   OUT.Tex2.xyz = mul(objToTangentSpace, -lightVec.xyz);        
  40.   
  41.   float4 vHPos = mul(ModelViewProj, vPos);  
  42.   vHPos*=vHPos;
  43.   OUT.Color.xyz=1000/vHPos.w;
  44.   OUT.Color.w=1000/vHPos.w;
  45.   
  46.   vHPos = mul(ModelViewProj, vPos);     
  47.   float2 vTex=(vHPos.xy/vHPos.w  + 1)*0.5;  
  48.     
  49.   vTex.x*=20;  
  50.   //vTex.y*=0.2;
  51.   vTex.y-=2*sin(TexShiftRipple.x*100);
  52.   OUT.Tex3.xy = vTex.xy;
  53. }
  54.